/*函数中新建的数据结构，如果不适用malloc的话是分配在栈上的
函数执行完毕后会释放该结构；malloc在C++中对应的操作是new*/
#include<stdio.h>
#include<stdlib.h>

typedef struct SingleNode
{
    int _val;
    struct SingleNode* next;
}Node;

void f(Node* node)
{
    /*
    Node temp={1,0};
    printf("%d\n",&temp);
    printf("%d\n",temp._val);
    node->next=&temp;
    */

    Node *temp=(Node*)malloc(sizeof(Node));
    temp->_val=1;
    printf("%d\n",temp);
    printf("%d\n",temp->_val);
    node->next=temp;
}

int main()
{
    Node n;
    f(&n);
    printf("%d\n",n.next);
    printf("%d\n",n.next->_val);
}
